/**
* {{{description}}}
* @export
* @interface {{classname}}
*/
export interface {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
{{#additionalPropertiesType}}
    [key: string]: {{{additionalPropertiesType}}}{{#hasVars}} | any{{/hasVars}};

{{/additionalPropertiesType}}
{{#vars}}
    /**
    * {{{description}}}
    * @type {{braces "left"}}{{{datatype}}}{{braces "right"}}
    {{#deprecated}}
        * @deprecated
    {{/deprecated}}
    */
    {{name}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{datatype}}}{{#nullable}} | null{{/nullable}}{{/isEnum}};
{{/vars}}
}{{#hasEnums}}

    {{#vars}}
        {{#isEnum}}
            /**
            * @export
            * @enum {string}
            */
            export enum {{enumName}} {
            {{#allowableValues}}
                {{#enumVars}}
                    {{{name}}} = {{{value}}}{{^@last}},{{/@last}}
                {{/enumVars}}
            {{/allowableValues}}
            }
        {{/isEnum}}
    {{/vars}}
{{/hasEnums}}
